|
|
Multimedia API ReferenceSeptember 12, 2016 | 24.2 Release |
The Bayer sharpness map exposes image sharpness metrics that can be used in order to help determine the correct position of the lens to achieve the best focus.
Each metric is a normalized floating-point value representing the estimated sharpness for a particular color channel and pixel region, called bins, where 0.0 and 1.0 map to the minimum and maximum possible sharpness values, respectively. Sharpness values generally correlate with image focus in that a low sharpness implies a poorly focused (blurry) region while a high sharpness implies a well focused (sharp) region.
The size and layout of the bins used to calculate the sharpness metrics are determined by the libargus implementation, and are illustrated in the following diagram. The bin size and interval are constant across the image, and are positioned such that the generated metrics cover the majority of the full image. All dimensions are given in pixels.
start.x interval.width
_______ _________________
| | | |
_ ________________________________________________________
| | |
start.y | | | |_ | _____ _____ _____ | _ | | | | | | | | | | | 0,0 | | 1,0 | | 2,0 | | | | |_____| |_____| |_____| | | | | | interval.height
| _____ _____ _____ | _ |
| | | | | | | | | | 0,1 | | 1,1 | | 2,1 | | | |_____| |_____| |_____| |
| _____ _____ _____ | _ | | | | | | | | | | | 0,2 | | 1,2 | | 2,2 | | | size.height | |_____| |_____| |_____| | _|
| ________________________________________________________ |
|_____|
size.width
Definition at line 142 of file BayerSharpnessMap.h.


Public Member Functions | |
| virtual Location | getBinStart () const =0 |
| Returns the starting location of the first bin, in pixels. More... | |
| virtual Size | getBinSize () const =0 |
| Returns the size of each bin, in pixels. More... | |
| virtual Size | getBinCount () const =0 |
| Returns the number of bins in both the horizontal (width) and vertical (height) directions. More... | |
| virtual Size | getBinInterval () const =0 |
| Returns the bin intervals for both the x and y axis. More... | |
| virtual float | getBinData (BayerChannel channel, const Location &binLocation, Status *status=NULL) const =0 |
| Returns the sharpness data for a single bin. More... | |
Static Public Member Functions | |
| static const InterfaceID & | id () |
Protected Member Functions | |
| ~IBayerSharpnessMap () | |
|
inlineprotected |
Definition at line 183 of file BayerSharpnessMap.h.
|
pure virtual |
Returns the number of bins in both the horizontal (width) and vertical (height) directions.
|
pure virtual |
Returns the sharpness data for a single bin.
This value is normalized such that 0.0 and 1.0 map to the minimum and maximum possible sharpness values, respectively.
| channel | the Bayer channel of the metric to return. |
| binLocation | the location (or coordinate) of the bin containing the metric, starting from (0,0) for the top-left bin (eg. the bin located at getBinStart()). |
| status | optional status return code. |
status is non-NULL, STATUS_INVALID_PARAMS will be returned there.
|
pure virtual |
Returns the bin intervals for both the x and y axis.
These intervals are defined as the number of pixels between the first pixel of a bin and that of the immediate next bin.
|
pure virtual |
Returns the size of each bin, in pixels.
|
pure virtual |
Returns the starting location of the first bin, in pixels.
Relative to the top-left corner of the image.
|
inlinestatic |
Definition at line 145 of file BayerSharpnessMap.h.